<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2021/10/23 0023
 * Time: 下午 4:44
 */

namespace app\model;


use think\Model;
use think\model\concern\SoftDelete;

class Users extends Model
{

//    public function profile(){
//
//        return $this->hasOne(Profile::class,"uid","id");
//
//    }
    public function profile(){

        return $this->hasMany(Profile::class,"uid","id");

    }
    public function book(){

        return $this->hasOne(Book::class,"uid","id");

    }

    public function roles(){

        return $this->belongsToMany(Role::class,Access::class,"role_id","uid");
    }
    //protected $connection="tp2";

    //设置表名和主键
    //protected $name="users";
    //protected $pk = "uid";

//    protected static function init()
//    {
//        parent::init(); // TODO: Change the autogenerated stub
//
//        echo "实例化基类时，执行此方法\r\n";
//    }

//    function addData($data){
//
//        return $this->save($data);
//    }
//
//    function getNames(){
//
//        $user = $this->find(21);
//        //return $user['name'];
//        return $user->getAttr("name");
//    }
//
//    function getSexAttr($value,$data){
//
//        //print_r($data);
//        //return $value."===";
//    }
//
//    function setNameAttr($value){
//
//        return $value."===+";
//    }

    //获取器和修改器
    //setXXXAttr和getXXXAttr是通过基类魔术方法__get/__set完成
    //可以防止框架从数据库取表字段，但要写完整张表字段字段及字段的类型
//    protected $schema = [
//        "id"=>"int"
//    ];

    //scope是通过BaseQuery类__call 魔术方法完成调用
//    function scopeSex($query){
//
//        $query->where("sex",1)->field("id,name,sex")->limit(3);
//    }
//
//    function scopeNames($query,$value){
//
//        $query->where("name","like","%".$value."%");
//    }
//    function scopeAge($query,$value){
//        $query->where("age",$value);
//    }
//
//
//    //搜索器
//    //将会调用BaseQuery {use trait ModelRelationQuery 的withSearch方法完成}
//    function searchNameAttr($query,$value){
//
//        $query->where("name","like","%".$value."%");
//    }
    //全局查询条件
    //protected $globalScope=["price"];
    //所有查询会被强制加上这个查询条件
    //function scopePrice($query){
    //    $query->where("price",">",10);
    //}

   // protected $readonly=["name"];


//    //类型转换
//    protected $type = [
//        "name"=>"string",
//        "age"=>"int",
//        "create_time"=>"datetime:Y/m/d"
//    ];
//
//    //废弃字段
//    protected $disuse = ["name"];
//
//
//    //protected $deleteTime="delete_time";
//    //use SoftDelete;
//
//    public static function onAfterRead(Models $model)
//    {
//       // parent::onAfterRead($model); // TODO: Change the autogenerated stub
//        echo "数据被查询了\r\n";
//    }
}